 ///
 /// @file    const.cc
 /// @author  lemon(haohb13@gmail.com)
 /// @date    2016-02-24 18:47:50
 ///
 
#include <iostream>

using std::cout;
using std::endl;

#define MAX 100 // 简单的一个字符串的替换
				// 发生的时机是：预处理
				// 不会进行类型检查


int test0(void)
{
	const int a = 3; // 有类型检查
	cout << MAX << endl;
	cout << "a = " << a << endl;

	//a = 10;// 常量的值是不能进行修改的
	
	//const int b ; 常量必须进行初始化
	
	int const c = 4;//const 能放在类型的前后
}

int main(void)
{
	int a = 3;
	int * pa = &a;
	*pa = 4;

	int * pp;

	const int * pb = &a;//常量指针(pointer to const)
	//*pb = 5; //通过指针不能修改原变量的值
	
	int * const pc = &a;//指针常量(const pointer)
	*pc = 6;

	int d = 10;
	//pc = &d;//指针本身的值不能被修改

}
